package com.zw.a.basic.a03.demo01_for;

//案例: 演示水仙花数
/*
    解释:
        1. 水仙花数是一个三位数.
        2. 它的各个位数的立方和等于它本身.
        3. 例如: 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 1 + 125 + 27 = 153
 */
public class ForDemo05 {
    public static void main(String[] args) {
        //需求: 获取到所有的水仙花数, 并将结果打印到控制台上.
        //1. 获取所有的三位数.
        for (int i = 100; i < 1000; i++) {
            //2. 获取该数字的各个位数值.
            int ge = i / 1 % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            //3. 判断其是否是水仙花数.
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)
                //4. 如果是, 就打印.
                System.out.println(i);
        }

        System.out.println("-------------------------------");


        //1. 获取所有的三位数.
        for (int i = 100, ge, shi, bai; i < 1000; i++) {
            //2. 获取该数字的各个位数值.
              ge = i / 1 % 10;
              shi = i / 10 % 10;
              bai = i / 100 % 10;
            //3. 判断其是否是水仙花数.
            if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)
                //4. 如果是, 就打印.
                System.out.println(i);
        }
    }
}
